<?php
include_once('controller/C_Base.php');
/** 
 *  @author VGireev 
 *	@REVISION:  $Id: C_Registration.php 11 2011-12-18 12:52:37Z host.xserver@gmail.com $
 *  @brief Файл класса C_Registration
 *  © myCompany 2011
 *
 *  Контроллер регистрации пользователей
 *  
 */

class C_Registration extends C_Base
{
	private $login;			//!< Логин пользователя
	private $password;		//!< Пароль пользователя
	private $user_name;		//!< Имя пользователя
	private $status;		//!< Сообщение вывода статуса записи
	private $status_zap;	//!< Статус записи

	public function __construct() 
	{
		parent::__construct();	
		
		$this->login		= '';
		$this->password		= '';
		$this->user_name	= '';
		$this->status		= '';
		$this->status_zap	= true;

	}
	
    /*
	*	Виртуальный обработчик запроса
	*/
    protected function OnInput() 
    {
		// Выход из системы пользователя
        $mUsers = M_Users::Instance();        
        $mUsers->Logout();
		
		// C_Base
        parent::OnInput();
		
		// Обработка отправки формы
        if ($this->IsPost()) {
			
			// Получаем логин
	        $this->login		= $_POST['login']; 
			// Получаем пароль
			$this->password		= $_POST['password']; 
			// Получаем имя пользователя
			$this->user_name	= $_POST['user_name'];
			
			if (isset($this->login) && isset($this->password) && isset($this->user_name)) {
				
				// Запись пользователя в БД
				$mUsers->Reg_user_add($this->login, $this->password, $this->user_name) ? 
						$this->status = 'Поздравляю с регистрацией' :
						$this->status = 'Повторите регистрацию через 5 минут';
						
				// Присваиваем false для вывода результата записи		
				$this->status_zap = false;
			};
        };
	}
	
    /*
	*	Виртуальный генератор HTML
	*	Шаблона меню и контента
	*/
    protected function OnOutput() 
    {    
		$mUsers = M_Users::Instance();
		
		//	Шаблон меню
		//	Формирование меню пользователя либо меню администратора
				
		if ($mUsers->Can('USE_SECRET_FUNCTIONS')) {
			$vars_menu	= array('items' => C_Base::GetMenuItems(true));
		}
		else {
			$vars_menu	= array('items' => C_Base::GetMenuItems(false));
		};
		
    	$this->menu		= $this->View('/view/Tpl_Menu.php', $vars_menu);
		
		//	Генерация содержимого формы входа
		//	Формируем форму регистрации или результат регистрации
		if ($this->status_zap) {
			// Формируем форму регистрации
			$this->content = $this->View('/view/Tpl_Registration.php');
		}
		else {
			// Формируем результат регистрации
			$this->content = $this->status;
		};
		
		// C_Base
        parent::OnOutput();
    }
}